Developer Manual

Directions for developing for the Time Coach Application

Introduction

Time Coach
The following is a Developer manual for the Time Coach application. It is a guide to help maintain and update the system or to allow the expansion of new features in the future. A detailed description of the key functions are described below as well as how they work and are implemented. The manual is broken into four segment which are; User Interface, Settings Savings, Main Timer, and Android Text-To-Speech. A link is immediately above to take you to each section quickly.

User Interface

User Interface
The user interface that was implemented on the Time Coach application is from the Qt's IDE. The framework provides certain functionalities for the UI that are known as signals and slots. A slot is a function that is to be called when a certain signal that was sent by the user, is caught by Qt's message handling system. Qt allows the connection between the signals and slots by using the function method called "Connect". The user interface was designed using the programming language called QML. Each component, within the code, when activated, emits a signal to the main application which handles it appropriately based on the parameters that were passed.

Settings Savings

Settings Savings
Qt's framework provides a QSettings function resource which allows the mapping of certain values, that are passed it, onto the device. QSettings is setup to work by mapping a Key with a respective Value pair.

Main Timer

Main timer
Timers are created and initialized when the application has passed the compile phase and is in the runtime phase of the process. Once the start button is activated, the timer will infinitely loop in intervals of 1,000 milliseconds until the stop button is activated by the user. When the application is running, each time the timer laps, an onElapsed signal is emitted in which the main application catches the signal and handles it appropriately (i.e.: count down or up) based on parameters that were sent by the stakeholder.

Android Text-To-Speech

Android Text-To-Speech
Qt provides android application development by using the android's native development kit. Some android functionalities can be invoked through Qt by statically defining a function inside the automatically generated .java file when compiled. Then the method becomes available for invoking by calling the "QAndroidJniObject::callStaticMethod(...)" function. The "TimeCoach__Android\android-sources\src\org\qtproject\example\TimeCoach__Android\CMainUI.java" function is what contains the code necessary for the TTS to operate to its full capacity.